package main

import "fmt"
import "math/bits"

type Test struct {
	name string
}

func (t *Test) Close() {
	fmt.Println(t.name, " closed")
}
func Close(t Test) {
	t.Close()
}

const MaxInt int = (1<<bits.UintSize)/2 - 1

func main() {
	fmt.Printf("int max: %d\n", MaxInt)
	var whatever [5]struct{}

	for i := range whatever {
		defer fmt.Println(i)
	}

	ts := []Test{{"a"}, {"b"}, {"c"}}
	for _, t := range ts {
		t2 := t
		defer t2.Close()
	}
}
